The present invention relates to header data, and more particularly, to compressing the size of header data in image data stream.
Digital data, whether transmitted over a wire-based distribution network (e.g., local area network, wide area network, or cable) or a wireless distribution network (e.g., satellite, RF, or optical), is typically packetized and sent over the network in individual packets. Some protocols call for fixed size packets, while other protocols utilize variable size packets. The packet may include header, compressed data, and trailer. To improve transmission efficiency and to keep pace with the demand for digital information, it is desirable to be able to pack increasingly more data through the same bandwidth pipeline over the network.
One way to achieve this objective includes packet compression. Packets may be compressed at a source node, transmitted in their compressed state over the network, and decompressed at a destination node. Another solution may include compressing not only the data but other portions of the packet, such as a header or a data payload, as well.
In JPEG200 data stream, for example, the header starts with a two-byte start-of-codestream (SOC) marker, 0xFF4F. The header carries information about image and tiles, including image size (width and height), tile size, number of components, component transforms used, wavelet transform used, component precision, subsampling factors, number of decomposition levels, number of layers, code-block size, quantization, coding styles (e.g. selective arithmetic coding bypass, and vertically stripe causal context) and other related parameters. The compressed data, beginning with a two-byte start-of-data (SOD) marker, 0xFF93 (hex), includes output after arithmetic coder. The trailer includes a two-byte end-of-codestream (EOC) marker, 0xFFD9 (hex).
The size of header and trailer for a one-tile color image may be 120 bytes or more. Thus, the overhead from the header and trailer may be proportionally large for small-sized images that have been compressed. For example, the overhead is 15.6% for an SQCIF (128xc3x9796) image compressed at 0.5 bits/pixel.
In one aspect, compressing headers of image frames is disclosed. Header of a first frame is received, where the header includes a plurality of header parameters. Further, differences are determined between the header parameters and a plurality of default parameters, and non-default parameters are sent when there are differences. The header is then compressed to include only a first type of marker, and is sent through the transmission channel. In one embodiment, the non-default parameters are sent through a control channel, while the compressed header is sent through a data channel.
In another aspect, a header of a current frame subsequent to the first frame is received, where the header includes a plurality of header parameters. Further, differences are determined between the plurality of header parameters and a previous plurality of header parameters. The headers are then compressed to include only a first type of marker when there are no differences. The headers are compressed to include a second type of marker, and a group of parameters that are different, when there are differences. The header is then sent through the transmission channel.